package cn.com.manager.service;

import java.util.List;
import java.util.Map;

import cn.com.manager.page.PageInfo;
import cn.com.manager.pojo.PurchaseOrder;
import cn.com.manager.pojo.vo.PurchaseOrderVo;
import cn.com.manager.pojo.vo.PurchaseOrderWithProcess;

public interface PurchaseService {
	public void addPurchaseOrder(PurchaseOrder purchaseOrder);
	public PurchaseOrderWithProcess getPurchaseOrderInfo(String orderId);
	public void createPurchaseOrderInstance(String purchaseOrderId,String user);
	public List<PurchaseOrder> getPurchaseOrderList(PurchaseOrder purchaseOrder,String userId,PageInfo pageInfo);
	public List<PurchaseOrderWithProcess> getPurchaseOrderTaskList(PurchaseOrderWithProcess purchaseOrderWithProcess,String userId,PageInfo pageInfo);
	public void submitPurchaseOrder(String taskId,String userId);
	public void auditPurchaseOrder(PurchaseOrderVo purchaseOrderVo);
	public List<PurchaseOrderWithProcess> findPurchaseOrderInstance(PurchaseOrderWithProcess purchaseOrderWithProcess, PageInfo pageInfo,String user);
	public List<PurchaseOrderWithProcess> findHistoryPurchaseOrderInstance(PurchaseOrderWithProcess purchaseOrderWithProcess, PageInfo pageInfo, String user);
	public void updatePurchaseOrderStatus(PurchaseOrder purchaseOrder);
	public Map<String,Double> getPurchaseOrderCount(PurchaseOrder purchaseOrder);
	public List<PurchaseOrderWithProcess> findHistoryPurchaseOrderTask(String instanceId);
	public List<PurchaseOrderWithProcess> getCanPurchaseOrderTaskList(PurchaseOrderWithProcess purchaseOrderWithProcess,String userId,PageInfo pageInfo);
	public void pickUpTask(String userId,String taskId);
	public void complateTask(String userId,String taskId);
}
